Multiuser communications systems that employ CDMA (Code Division Multiple Access) exhibit a limit on the number of users that can simultaneously communicate over a channel and maintain a specified level of performance per user. This limitation is caused mainly by multiple access interference. In general, solutions to this limitation have employed either optimum multiuser detection or interference cancellation methods.
Optimal multiuser detection (MUD) methods (ref: S. Verdu, “Minimum probability of error for asynchronous Gaussian multiple-access channels,” IEEE Trans. on Inform. Theory, IT-32, pp. 85–96, January 1986) are able to eliminate the multiple access interference (MAI), but show a complexity that is exponential to the number of users, which seems impossible for practical implementations.
With respect to criteria of complexity and performance, the most appropriate choice of MUD for practical systems has been evaluated in T. Ojanpera and R. Prased, “Wideband CDMA for Third Generation Mobile Communications”, Artech House Pub., 1998. It has been found that the implementation of a 3-stage parallel interference cancellation (PIC) provides preferable results.
FIG. 1 shows an L-stage parallel interference cancellation approach, with m being the number of each stage. A composite signal comprises a series of coded signals from users 1 through K, each used to modulate an RF carrier using conventional modulation techniques, such as binary phase shift keying (BPSK). The received discrete-time signal r can be written asr=SAb+n, wherein:    S=spreading code matrix;    A=channel coefficient matrix;    b=[b1, b2, . . . , bK]=signals transmitted by users 1 through K; and    n=AWGN noise.
For each user k equal to 1 through K, a unique code s(k) is used to spread the signal in the user transmitter, the spreading code matrix S consisting of the codes s(k).
The outputs of the rake receiver zRake:zRake=AHSHr=AHSH(SAb+n),wherein:    ( )H=conjugate transpose operation; and    SHS=cross-correlations between the spreading codes.
Hence, the rake receiver output consists of a despreaded and matched signal as zRake=[z1Rake, z2Rake, . . . , zKRake]. For example, the signal z1Rake comprises the signal b1 received from a user 1 plus interference from all other users 2 through K. The signal zRake may be subjected to a tentative hard-decision concerning the bit polarity so that a signal bRake=[b1Rake, b2Rake, . . . , bKRake] comprising bit polarities of +1 or −1 for z1Rake through zKRake is the output of the Rake receiver. The signals bRake and zRake are used as inputs into a first parallel cancellation stage m=1. Each parallel cancellation stage requires only one bit time causing each stage to be delayed by the product of the number of previous stages and the one bit time interval. The output {circumflex over (b)}(L) of the final stage L is estimated by a final decision device such as a hard decision device.
FIG. 2 shows an mth stage conventional PIC detector for BPSK (Binary Phase Shift Keying) modulation proposed by M. K. Varanasi and B. Aazhang, “Multistage detection for asynchronous code-division multiple-access communications,” IEEE Trans.Comm., COM-38(4), April 1990. The estimated signal {circumflex over (b)}(m) at stage m is calculated according to the following equation:{circumflex over (b)}(m)=sgn[zRake−MAIm−1]=sgn[zRake−F{circumflex over (b)}(m−1)], m=1 . . . L  (1)wherein:    {circumflex over (b)} ( 0)=bRake=sgn[zRake(0)]; and    F=AHSHSA−diag([AHSHSA]ii) off-diagonal cross-correlation matrix.
The MAI can be calculated by the processing units and the summing points shown in FIG. 2. For example, MAI for user 1 is calculated by the processed and summed signals from users 2 to K and then is subtracted from zRake. The subtraction result is subjected to a hard decision. The output of the Lth-stage {circumflex over (b)}(L) may be subjected to a final decision in order to obtain an output signal bPIC.
FIG. 3 shows an mth stage PPIC (Partial Parallel Interference Cancellation) detector disclosed in the U.S. Pat. No. 5,644,592 assigned to Divsalar et al. The estimated signal {circumflex over (z)} (m) at stage m is calculated in accordance with the following equation:{circumflex over (z)}(m)=ωm[zRake−F{circumflex over (b)}(m−1)]+(1−ωm){circumflex over (z)}(m−1), m=1 . . . L  (2)wherein:    {circumflex over (b)}(m)=sgn[{circumflex over (z)}(m)]; and    {circumflex over (z)}(0)=zRake.
As it is shown in FIG. 3, soft-outputs of data estimates {circumflex over (z)} (m−1) are weighted by 1−ωm and then added with the soft signal zRake with cancellation of MAI regenerated by latest estimates. The data estimates at the mth stage can be obtained from this added signal {circumflex over (z)} (m). In a final decision device, the data estimates {circumflex over (z)} (L) may be subjected to a hard-decision so that a hard-decision signal bPPIC is output.